﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;


namespace CMS_GYM
{
    public class clsPhieuChiTienBUS
    {
        #region Attribute
        private clsPhieuChiTienDAO PhieuChiDAO = new clsPhieuChiTienDAO();
        #endregion


        /// <summary>
        /// Tim kiem phieu chi
        /// </summary>
        /// <param name="TuNgay"></param>
        /// <param name="DenNgay"></param>
        /// <param name="TuSo"></param>
        /// <param name="DenSo"></param>
        /// <param name="KyHieu"></param>
        /// <param name="NguoiTaoId"></param>
        /// <param name="MaKhachHang"></param>
        /// <param name="TuKhoa"></param>
        /// <param name="LoaiPhieu"></param>
        /// <returns></returns>
        public DataTable TimKiem(DateTime? TuNgay, DateTime? DenNgay, string TuSo, string DenSo, string KyHieu, int? NguoiTaoId, string MaKhachHang, string TuKhoa)
        {
            return PhieuChiDAO.LayBang(TuNgay, DenNgay, TuSo, DenSo, KyHieu, NguoiTaoId, MaKhachHang, TuKhoa, "PhieuChi");
        }

        /// <summary>
        /// tim kiem hoa don va phieu chi
        /// </summary>
        /// <param name="TuNgay"></param>
        /// <param name="DenNgay"></param>
        /// <param name="TuSo"></param>
        /// <param name="DenSo"></param>
        /// <param name="KyHieu"></param>
        /// <param name="NguoiTaoId"></param>
        /// <param name="MaKhachHang"></param>
        /// <param name="TuKhoa"></param>
        /// <param name="LoaiPhieu"></param>
        /// <returns></returns>
        public DataTable TimKiemPhieuGiaoDich(DateTime? TuNgay, DateTime? DenNgay, string TuSo, string DenSo, string KyHieu, int? NguoiTaoId, string MaKhachHang, string TuKhoa, string LoaiPhieu)
        {
            return PhieuChiDAO.LayBang(TuNgay, DenNgay, TuSo, DenSo, KyHieu, NguoiTaoId, MaKhachHang, TuKhoa, LoaiPhieu);
        }

        /// <summary>
        /// Lay bang theo so phieu chi va ky hieu
        /// </summary>
        /// <param name="SoPhieuChi"></param>
        /// <param name="KyHieu"></param>
        /// <returns></returns>
        public DataTable LayBang(string SoPhieuChi, string KyHieu)
        {
            return PhieuChiDAO.LayBang(SoPhieuChi, KyHieu);
        }

        public clsPhieuChiTienDTO LayThongTinMotPhieuChi(string SoPhieuChi, string KyHieu)
        {
            return PhieuChiDAO.LayThongMotPhieuChi(SoPhieuChi, KyHieu);
        }

        public DataTable LayBangPhieuChiChiet(string SoPhieuChi, string KyHieu)
        {
            return PhieuChiDAO.LayBangPhieuChiChiet(SoPhieuChi, KyHieu);
        }

        public DataTable LayBangPhieuChiChiet(decimal PhieuChiId)
        {
            return PhieuChiDAO.LayBangPhieuChiChiet(PhieuChiId);
        }

        public Boolean Them(ref clsPhieuChiTienDTO PhieuChi, ref string Error)
        {
            PhieuChi.PhieuChiId = PhieuChiDAO.Them(PhieuChi);
            if (PhieuChi.PhieuChiId == -1)
            {
                Error = "Thêm phiếu chi vào cơ sở dữ liệu không thành công!";
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// Sua thong tin phieu chi
        /// </summary>
        /// <param name="PhieuChi"></param>
        /// <param name="Error"></param>
        /// <returns></returns>
        public Boolean Sua(clsPhieuChiTienDTO PhieuChi, ref string Error)
        {
            if (PhieuChiDAO.Sua(PhieuChi) == -1)
            {
                Error = "cập nhật phiếu chi vào cơ sở dữ liệu không thành công!";
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// Xoa mot phieu chi 
        /// </summary>
        /// <param name="PTCT"></param>
        /// <returns></returns>
        public Boolean Xoa(decimal PhieuChiId, ref string Error)
        {
            if (PhieuChiDAO.Xoa(PhieuChiId) == -1)
            {
                Error = "Xóa phiếu chi vào cơ sở dữ liệu không thành công!";
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// Xoa tam thoi mot phieu chi 
        /// </summary>
        /// <param name="PTCT"></param>
        /// <returns></returns>
        public Boolean XoaTamThoi(decimal PhieuChiId, ref string Error)
        {
            if (PhieuChiDAO.XoaTamThoi(PhieuChiId) == -1)
            {
                Error = "Xóa phiếu chi vào cơ sở dữ liệu không thành công!";
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// Xoa tam thoi mot phieu chi 
        /// </summary>
        /// <param name="PTCT"></param>
        /// <returns></returns>
        public Boolean XoaTamThoi(string SoPhieuChi, string KyHieu, ref string Error)
        {
            if (PhieuChiDAO.XoaTamThoi(SoPhieuChi, KyHieu) == -1)
            {
                Error = "Xóa phiếu chi vào cơ sở dữ liệu không thành công!";
                return false;
            }
            else
            {
                return true;
            }
        }

        public bool KiemTraTonTai(string SoPhieuChi, string KyHieu)
        {
            return PhieuChiDAO.KiemTraTonTai(SoPhieuChi, KyHieu);
        }

        public DataTable ThongKeChiPhiTheoLoaiDinhKhoanCo(DateTime? TuNgay, DateTime? DenNgay)
        {
            return PhieuChiDAO.ThongKeChiPhiTheoLoaiDinhKhoanCo(TuNgay, DenNgay);
        }
    }
}
